home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / EmailViewer / Origin / EmailViewer.jar / v.class (.txt) < prev    next >
Encoding:
Java Class File  |  2003-08-05  |  32.1 KB  |  1,474 lines

  1. import java.io.ByteArrayInputStream;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Writer;
  9. import java.util.EmptyStackException;
  10. import java.util.Enumeration;
  11. import java.util.Hashtable;
  12. import java.util.Stack;
  13. import java.util.Vector;
  14. import javax.microedition.io.ConnectionNotFoundException;
  15. import javax.microedition.io.Connector;
  16. import javax.microedition.io.HttpConnection;
  17. import javax.microedition.lcdui.Font;
  18. import javax.microedition.lcdui.Graphics;
  19. import javax.microedition.lcdui.Image;
  20. import javax.microedition.rms.InvalidRecordIDException;
  21. import javax.microedition.rms.RecordStore;
  22.  
  23. // $FF: renamed from: v
  24. class class_0 implements Runnable {
  25.    // $FF: renamed from: A java.lang.String
  26.    private String field_0;
  27.    // $FF: renamed from: p java.lang.String
  28.    private String field_1;
  29.    // $FF: renamed from: B boolean
  30.    private boolean field_2;
  31.    // $FF: renamed from: r int
  32.    private int field_3;
  33.    // $FF: renamed from: o int
  34.    private int field_4;
  35.    // $FF: renamed from: j l
  36.    private l field_5;
  37.    // $FF: renamed from: l java.lang.String
  38.    private String field_6;
  39.    // $FF: renamed from: y java.lang.String
  40.    private String field_7;
  41.    // $FF: renamed from: c java.lang.String
  42.    private String field_8;
  43.    // $FF: renamed from: e java.lang.String
  44.    private String field_9;
  45.    // $FF: renamed from: u r[]
  46.    private r[] field_10;
  47.    // $FF: renamed from: d java.lang.String
  48.    private String field_11;
  49.    // $FF: renamed from: k java.lang.String
  50.    private String field_12;
  51.    // $FF: renamed from: x boolean
  52.    private boolean field_13;
  53.    // $FF: renamed from: z boolean
  54.    private volatile boolean field_14 = false;
  55.    // $FF: renamed from: t int
  56.    private int field_15 = 0;
  57.    // $FF: renamed from: q int
  58.    private int field_16 = 0;
  59.    // $FF: renamed from: w int
  60.    private int field_17 = 1;
  61.    // $FF: renamed from: i java.lang.String
  62.    private String field_18 = "Contacting server";
  63.    // $FF: renamed from: a java.util.Vector
  64.    private Vector field_19;
  65.    // $FF: renamed from: C java.util.Vector
  66.    private Vector field_20;
  67.    // $FF: renamed from: n java.util.Hashtable
  68.    private Hashtable field_21;
  69.    // $FF: renamed from: h int
  70.    private int field_22 = 0;
  71.    // $FF: renamed from: g int
  72.    private int field_23 = 0;
  73.    // $FF: renamed from: s java.util.Stack
  74.    private Stack field_24;
  75.    // $FF: renamed from: m javax.microedition.lcdui.Font
  76.    private Font field_25;
  77.    // $FF: renamed from: v int
  78.    private int field_26 = 0;
  79.    // $FF: renamed from: b int
  80.    private int field_27;
  81.    // $FF: renamed from: f byte
  82.    private byte field_28 = 0;
  83.  
  84.    class_0(l var1, String var2, String var3, String var4, r[] var5, String var6, String var7, boolean var8, Vector var9, Vector var10, Hashtable var11) {
  85.       this.field_5 = var1;
  86.       this.field_6 = var2;
  87.       this.field_8 = var3;
  88.       this.field_9 = var4;
  89.       this.field_10 = var5;
  90.       this.field_11 = var6;
  91.       this.field_12 = var7;
  92.       this.field_13 = var8;
  93.       this.field_19 = var9;
  94.       this.field_20 = var10;
  95.       this.field_21 = var11;
  96.       this.field_0 = var1.b;
  97.       this.field_1 = var1.Q;
  98.       this.field_2 = var1.X;
  99.       this.field_3 = var1.aa;
  100.       this.field_4 = var1.E;
  101.       this.field_25 = var1.ai;
  102.       this.field_27 = this.field_25.getHeight();
  103.    }
  104.  
  105.    // $FF: renamed from: d () void
  106.    void method_0() {
  107.       this.field_14 = true;
  108.    }
  109.  
  110.    // $FF: renamed from: c (java.lang.String) java.lang.String
  111.    static String method_1(String var0) {
  112.       int var1 = var0.indexOf(37);
  113.       if (var1 < 0) {
  114.          return var0;
  115.       } else {
  116.          StringBuffer var2 = new StringBuffer();
  117.  
  118.          for(int var3 = 0; var3 < var0.length(); ++var3) {
  119.             char var4 = var0.charAt(var3);
  120.             if (var4 == '%' && var3 + 2 < var0.length()) {
  121.                try {
  122.                   var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
  123.                   var3 += 2;
  124.                   continue;
  125.                } catch (NumberFormatException var6) {
  126.                }
  127.             }
  128.  
  129.             var2.append(var4);
  130.          }
  131.  
  132.          return var2.toString();
  133.       }
  134.    }
  135.  
  136.    // $FF: renamed from: a (java.lang.String) java.lang.String
  137.    private String method_2(String var1) {
  138.       int var2 = var1.indexOf("JSESSIONID=");
  139.       if (var2 == -1) {
  140.          return null;
  141.       } else {
  142.          int var3 = var1.indexOf(59, var2);
  143.          return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
  144.       }
  145.    }
  146.  
  147.    // $FF: renamed from: d (java.lang.String) boolean
  148.    private boolean method_3(String var1) {
  149.       var1 = var1.toLowerCase();
  150.       return var1.startsWith("https:") || var1.startsWith("fullsize:https:");
  151.    }
  152.  
  153.    public void run() {
  154.       try {
  155.          HttpConnection var1 = null;
  156.          Object var2 = null;
  157.          OutputStreamWriter var3 = null;
  158.  
  159.          try {
  160.             try {
  161.                int var4 = this.field_6.indexOf(35);
  162.                if (var4 >= 0) {
  163.                   this.field_7 = this.field_6.substring(var4 + 1);
  164.                   this.field_6 = this.field_6.substring(0, var4);
  165.                }
  166.  
  167.                String var5 = this.field_6;
  168.                Object var6 = null;
  169.                byte var7 = 0;
  170.                int var8 = -1;
  171.                var4 = 0;
  172.  
  173.                while(var4 <= 6) {
  174.                   if (var4 == 0) {
  175.                      this.method_4(1, 0, (Throwable)null);
  176.                   }
  177.  
  178.                   int var9 = this.method_3(this.field_6);
  179.                   String var10 = var9 ? this.field_5.x : this.field_5.B;
  180.  
  181.                   try {
  182.                      var1 = (HttpConnection)Connector.open(var10);
  183.                   } catch (ConnectionNotFoundException var61) {
  184.                      if (var9) {
  185.                         throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
  186.                      }
  187.  
  188.                      throw var61;
  189.                   }
  190.  
  191.                   var1.setRequestMethod("POST");
  192.                   if (this.field_5.S == 1) {
  193.                      var1.setRequestProperty("Connection", "close");
  194.                   }
  195.  
  196.                   String var11 = this.field_5.U;
  197.                   if (var11 != null) {
  198.                      var1.setRequestProperty("Cookie", "JSESSIONID=" + var11);
  199.                   }
  200.  
  201.                   var1.setRequestProperty("Content-Type", "text/xml");
  202.                   var1.setRequestProperty("Accept", "application/xml");
  203.                   Thread.yield();
  204.                   if (this.field_14) {
  205.                      return;
  206.                   }
  207.  
  208.                   var3 = new OutputStreamWriter(var1.openOutputStream());
  209.                   ((Writer)var3).write("<req vid=\"97\" ver=\"3.0.2E");
  210.                   if (this.field_5.q != null) {
  211.                      ((Writer)var3).write("\" c=\"" + this.field_5.q);
  212.                   }
  213.  
  214.                   if (var9 && this.field_5.ae != null) {
  215.                      ((Writer)var3).write("\" s=\"" + this.field_5.ae);
  216.                   }
  217.  
  218.                   if (this.field_0 != null) {
  219.                      ((Writer)var3).write("\" u=\"" + this.method_15(this.field_0, true));
  220.                   }
  221.  
  222.                   if (this.field_1 != null) {
  223.                      ((Writer)var3).write("\" l=\"" + this.method_15(this.field_1, true));
  224.                   }
  225.  
  226.                   ((Writer)var3).write("\"><uri");
  227.                   if (this.field_12 != null) {
  228.                      ((Writer)var3).write(" ref=\"" + this.method_15(this.field_12, true) + '"');
  229.                   }
  230.  
  231.                   if (this.field_13) {
  232.                      ((Writer)var3).write(" noCache=\"1\"");
  233.                   }
  234.  
  235.                   ((Writer)var3).write('>' + this.method_15(this.field_6, false) + "</uri>" + "<display width=\"" + this.field_3 + "\" height=\"" + this.field_4 + "\" images=\"" + this.field_2 + "\" cookies=\"" + (short)this.field_5.a + "\" isColor=\"" + this.field_5.J + "\" numColors=\"" + this.field_5.G);
  236.                   this.field_6 = null;
  237.                   if (this.field_5.t > 0) {
  238.                      ((Writer)var3).write("\" l=\"" + this.field_5.t);
  239.                   }
  240.  
  241.                   if (this.field_5.v && this.field_5.G > 16) {
  242.                      ((Writer)var3).write("\" i=\"j");
  243.                   }
  244.  
  245.                   ((Writer)var3).write("\"/>");
  246.                   if (this.field_10 != null) {
  247.                      ((Writer)var3).write("<f");
  248.                      if (this.field_8 != null) {
  249.                         ((Writer)var3).write(" method=\"" + this.method_15(this.field_8, true) + '"');
  250.                         this.field_8 = null;
  251.                      }
  252.  
  253.                      if (this.field_9 != null) {
  254.                         ((Writer)var3).write(" enctype=\"" + this.method_15(this.field_9, true) + '"');
  255.                         this.field_9 = null;
  256.                      }
  257.  
  258.                      if (this.field_11 != null) {
  259.                         ((Writer)var3).write(" charset=\"" + this.method_15(this.field_11, true) + '"');
  260.                      }
  261.  
  262.                      var3.write(62);
  263.  
  264.                      for(int var12 = 0; var12 < this.field_10.length; ++var12) {
  265.                         ((Writer)var3).write("<nv n=\"");
  266.                         ((Writer)var3).write(this.method_15(this.field_10[var12].a, true));
  267.                         ((Writer)var3).write("\" v=\"");
  268.                         ((Writer)var3).write(this.method_15(this.field_10[var12].b, true));
  269.                         ((Writer)var3).write("\"/>");
  270.                      }
  271.  
  272.                      this.field_10 = null;
  273.                      ((Writer)var3).write("</f>");
  274.                   }
  275.  
  276.                   ((Writer)var3).write("</req>");
  277.                   if (!var9) {
  278.                      var3.close();
  279.                   }
  280.  
  281.                   Thread.yield();
  282.                   if (this.field_14) {
  283.                      return;
  284.                   }
  285.  
  286.                   if (var4 == 0) {
  287.                      this.method_4(1, 100, (Throwable)null);
  288.                      this.field_18 = "Waiting...";
  289.                      this.method_4(2, 0, (Throwable)null);
  290.                   }
  291.  
  292.                   var2 = var1.openInputStream();
  293.                   String var74 = var1.getHeaderField("Set-Cookie");
  294.                   if (var74 != null) {
  295.                      this.field_5.U = this.method_2(var74);
  296.                   }
  297.  
  298.                   var8 = (int)var1.getLength();
  299.                   if (!"application/xml".equals(var1.getType())) {
  300.                      throw new IOException("Unexpected server response: " + var1.getResponseCode() + ' ' + var1.getResponseMessage() + "; " + var1.getType());
  301.                   }
  302.  
  303.                   if (this.field_5.t == 30000) {
  304.                      ByteArrayInputStream var13 = new ByteArrayInputStream(this.method_5((InputStream)var2, var8, 2));
  305.                      ((InputStream)var2).close();
  306.                      var1.close();
  307.                      var2 = var13;
  308.                   }
  309.  
  310.                   DataInputStream var67;
  311.                   if (this.field_5.S != 3 && this.field_5.S != 4) {
  312.                      var67 = new DataInputStream((InputStream)var2);
  313.                   } else {
  314.                      var67 = new DataInputStream(new s((InputStream)var2, this.field_5.S));
  315.                   }
  316.  
  317.                   while(true) {
  318.                      Thread.yield();
  319.                      if (this.field_14) {
  320.                         return;
  321.                      }
  322.  
  323.                      var7 = var67.readByte();
  324.                      if (var7 < 0) {
  325.                         if (this.field_6 == null) {
  326.                            this.method_4(2, 100, (Throwable)null);
  327.                            if (var7 != -1) {
  328.                               f var72 = this.field_5.e();
  329.                               if (var72 == null) {
  330.                                  throw new IOException("Invalid header");
  331.                               }
  332.  
  333.                               var72.a(var7, new s((InputStream)var2, this.field_5.S));
  334.                               return;
  335.                            }
  336.  
  337.                            var9 = var67.readInt();
  338.                            this.field_15 = var67.readUnsignedShort();
  339.                            if (var9 > 0) {
  340.                               var5 = null;
  341.                               this.field_18 = "Loading text - " + (var9 / 1024 + 1) + 'K';
  342.                               if (l.H.stringWidth(this.field_18) >= this.field_3 - 2) {
  343.                                  this.field_18 = "Text - " + (var9 / 1024 + 1) + 'K';
  344.                               }
  345.  
  346.                               this.method_6(new s((InputStream)var2, this.field_5.S), var9);
  347.                            } else {
  348.                               this.field_18 = "Loading text";
  349.                               this.method_4(16, 100, (Throwable)null);
  350.                               this.field_5.I = var5 != null && var5.startsWith("fullsize:");
  351.                            }
  352.  
  353.                            if (this.field_15 > 0 && var8 >= 0) {
  354.                               this.field_18 = "Loading images - " + ((var8 - var9) / 1024 + 1) + 'K';
  355.                               if (l.H.stringWidth(this.field_18) >= this.field_3 - 2) {
  356.                                  this.field_18 = "Images - " + ((var8 - var9) / 1024 + 1) + 'K';
  357.                               }
  358.                            } else {
  359.                               this.field_18 = "Loading images";
  360.                            }
  361.  
  362.                            int var73 = 0;
  363.  
  364.                            while(var73 < this.field_15) {
  365.                               this.method_4(64, var73++ * 100 / this.field_15, (Throwable)null);
  366.                               Thread.yield();
  367.                               if (this.field_14) {
  368.                                  return;
  369.                               }
  370.  
  371.                               var9 = var67.readInt();
  372.                               if (var5 != null) {
  373.                                  this.method_14((InputStream)var2, var5, var9, true);
  374.                               } else {
  375.                                  this.method_14((InputStream)var2, var67.readUTF(), var9, this.field_15 == 1);
  376.                               }
  377.                            }
  378.  
  379.                            if (this.field_17 != 64 || this.field_16 != 100) {
  380.                               this.method_4(64, 100, (Throwable)null);
  381.                            }
  382.  
  383.                            return;
  384.                         }
  385.  
  386.                         if (var4 == 1) {
  387.                            this.method_4(2, 50, (Throwable)null);
  388.                         }
  389.  
  390.                         ((InputStream)var2).close();
  391.                         var1.close();
  392.                         ++var4;
  393.                         break;
  394.                      }
  395.  
  396.                      if (var7 == 0) {
  397.                         var5 = var67.readUTF();
  398.                         if (this.field_7 != null) {
  399.                            var5 = var5 + '#' + this.field_7;
  400.                         }
  401.  
  402.                         this.field_5.p = var5;
  403.                      } else if (var7 == 1) {
  404.                         String var75 = var67.readUTF();
  405.                         RecordStore var14 = null;
  406.  
  407.                         try {
  408.                            var14 = RecordStore.openRecordStore("clientID", true);
  409.                            ByteArrayOutputStream var15 = new ByteArrayOutputStream();
  410.                            DataOutputStream var16 = new DataOutputStream(var15);
  411.                            var16.writeUTF(var75);
  412.                            var16.flush();
  413.                            byte[] var17 = var15.toByteArray();
  414.  
  415.                            try {
  416.                               var14.setRecord(1, var17, 0, var17.length);
  417.                            } catch (InvalidRecordIDException var58) {
  418.                               var14.addRecord(var17, 0, var17.length);
  419.                            }
  420.  
  421.                            this.field_5.q = var75;
  422.                            if (var75.length() > 0 && var75.charAt(0) == '$') {
  423.                               l.W = true;
  424.                               if (EV.D.size() == 8) {
  425.                                  EV.D.delete(5);
  426.                               }
  427.                            }
  428.                         } catch (Exception var59) {
  429.                         } finally {
  430.                            if (var14 != null) {
  431.                               try {
  432.                                  var14.closeRecordStore();
  433.                               } catch (Exception var57) {
  434.                               }
  435.                            }
  436.  
  437.                         }
  438.                      } else if (var7 == 2) {
  439.                         this.field_5.ae = var67.readUTF();
  440.                      } else if (var7 == 3) {
  441.                         this.field_6 = var67.readUTF();
  442.                      }
  443.                   }
  444.                }
  445.  
  446.                throw new IOException();
  447.             } catch (OutOfMemoryError var62) {
  448.                this.field_0 = null;
  449.                this.field_1 = null;
  450.                this.field_6 = null;
  451.                this.field_11 = null;
  452.                this.field_12 = null;
  453.                System.gc();
  454.                this.method_4(this.field_17, this.field_16, var62);
  455.             } catch (Exception var63) {
  456.                Thread.yield();
  457.                this.method_4(this.field_17, this.field_16, var63);
  458.             }
  459.  
  460.          } finally {
  461.             try {
  462.                if (var2 != null) {
  463.                   ((InputStream)var2).close();
  464.                }
  465.  
  466.                if (var3 != null) {
  467.                   var3.close();
  468.                }
  469.  
  470.                if (var1 != null) {
  471.                   var1.close();
  472.                }
  473.             } catch (IOException var56) {
  474.             }
  475.  
  476.             this.field_5.repaint(0, 0, this.field_3, this.field_4);
  477.          }
  478.       } catch (OutOfMemoryError var65) {
  479.          this.method_4(this.field_17, this.field_16, var65);
  480.       }
  481.    }
  482.  
  483.    // $FF: renamed from: a (int, int, java.lang.Throwable) void
  484.    private void method_4(int var1, int var2, Throwable var3) {
  485.       if (!this.field_14) {
  486.          if (var1 == 64 && var2 == 100) {
  487.             this.field_18 = "Done loading";
  488.          }
  489.  
  490.          this.field_5.a(this.field_18, var2, var3);
  491.          m var4 = this.field_5.o();
  492.          if (var4 != null && (var2 != this.field_16 || this.field_17 != var1 || var3 != null || var1 == 1)) {
  493.             var4.a(var1, var2, var3);
  494.             this.field_16 = var2;
  495.          }
  496.  
  497.          this.field_17 = var1;
  498.       }
  499.    }
  500.  
  501.    // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
  502.    private byte[] method_5(InputStream var1, int var2, int var3) throws IOException {
  503.       byte[] var4 = new byte[var2];
  504.       int var6 = 0;
  505.  
  506.       while(var6 < var2) {
  507.          if (this.field_5.S != 3) {
  508.             int var7;
  509.             if (var2 - var6 < 256) {
  510.                var7 = var1.read(var4, var6, var2 - var6);
  511.             } else {
  512.                var7 = var1.read(var4, var6, 256);
  513.             }
  514.  
  515.             Thread.yield();
  516.             if (this.field_14 || var7 == -1) {
  517.                break;
  518.             }
  519.  
  520.             var6 += var7;
  521.          } else {
  522.             int var5;
  523.             do {
  524.                var5 = var1.read();
  525.                if (var5 == -1) {
  526.                   break;
  527.                }
  528.  
  529.                var4[var6++] = (byte)var5;
  530.             } while(var6 % 128 != 0 && var6 < var2);
  531.  
  532.             Thread.yield();
  533.             if (this.field_14 || var5 == -1) {
  534.                break;
  535.             }
  536.          }
  537.  
  538.          if (var3 >= 0) {
  539.             this.method_4(var3, var6 * 100 / var2, (Throwable)null);
  540.          }
  541.       }
  542.  
  543.       return var4;
  544.    }
  545.  
  546.    // $FF: renamed from: a (s, int) void
  547.    private void method_6(s var1, int var2) throws IOException {
  548.       if (this.field_15 > 0) {
  549.          this.field_5.f = new Hashtable();
  550.          this.field_5.u();
  551.       }
  552.  
  553.       this.field_24 = new Stack();
  554.       n var3 = null;
  555.       k var4 = null;
  556.       y var5 = null;
  557.       w var6 = null;
  558.       g var7 = null;
  559.       b var8 = null;
  560.       b var9 = null;
  561.       boolean var10 = false;
  562.       boolean var11 = false;
  563.       boolean var12 = false;
  564.       int var13 = -1;
  565.       Stack var14 = null;
  566.       String var15 = null;
  567.       String var16 = null;
  568.       DataInputStream var17 = new DataInputStream(var1);
  569.  
  570.       while(true) {
  571.          Thread.yield();
  572.          if (this.field_14) {
  573.             return;
  574.          }
  575.  
  576.          this.method_4(16, var1.c * 100 / var2, (Throwable)null);
  577.          String[] var20 = new String[4];
  578.          int[] var21 = new int[4];
  579.          byte[] var22 = new byte[2];
  580.          boolean[] var23 = new boolean[2];
  581.          int[] var24 = null;
  582.          byte var18 = var17.readByte();
  583.          if (var18 >= 60) {
  584.             var18 = (byte)(var18 - 60);
  585.  
  586.             while(true) {
  587.                byte var19 = var17.readByte();
  588.                if (var19 == -1) {
  589.                   break;
  590.                }
  591.  
  592.                if (var19 >= 80) {
  593.                   var19 = (byte)(var19 - 80);
  594.                   String var41 = var17.readUTF();
  595.                   if (var19 >= 0 && var19 < 4) {
  596.                      var20[var19] = var41;
  597.                   }
  598.                } else if (var19 >= 60) {
  599.                   var19 = (byte)(var19 - 60);
  600.                   int var40 = var17.readUnsignedShort();
  601.                   if (var19 >= 0 && var19 < 4) {
  602.                      var21[var19] = var40;
  603.                   }
  604.                } else if (var19 >= 40) {
  605.                   var19 = (byte)(var19 - 40);
  606.                   if (var19 >= 0 && var19 < 2) {
  607.                      var23[var19] = true;
  608.                   }
  609.                } else if (var19 >= 20) {
  610.                   var19 = (byte)(var19 - 20);
  611.                   byte var39 = var17.readByte();
  612.                   if (var19 >= 0 && var19 < 2) {
  613.                      var22[var19] = var39;
  614.                   }
  615.                } else {
  616.                   var24 = new int[var17.readUnsignedShort()];
  617.  
  618.                   for(int var25 = 0; var25 < var24.length; ++var25) {
  619.                      var24[var25] = var17.readUnsignedShort();
  620.                   }
  621.                }
  622.             }
  623.          }
  624.  
  625.          if (var18 == 0) {
  626.             String var43 = var17.readUTF();
  627.             if (var11) {
  628.                this.field_5.h = var43;
  629.             } else if (var7 != null) {
  630.                var16 = var43;
  631.             } else if (var6 != null) {
  632.                String var51 = var6.d();
  633.                if (var51 != null) {
  634.                   var6.a(var51 + var43);
  635.                } else {
  636.                   var6.a(var43);
  637.                }
  638.             } else {
  639.                if (this.field_22 <= 0 && !var10) {
  640.                   int var50;
  641.                   for(var50 = 0; var50 < var43.length() && var43.charAt(var50) <= ' '; ++var50) {
  642.                   }
  643.  
  644.                   if (var50 > 0) {
  645.                      var43 = var43.substring(var50);
  646.                   }
  647.                }
  648.  
  649.                if (var3 != null) {
  650.                   this.method_13(var43, var3);
  651.                } else {
  652.                   this.method_13(var43, var4);
  653.                }
  654.             }
  655.          } else if (var18 == 32) {
  656.             if (this.field_22 > 0) {
  657.                this.field_22 += this.field_25.charWidth(' ');
  658.             }
  659.          } else {
  660.             boolean var42 = var18 >= 0;
  661.             if (!var42) {
  662.                var18 *= -1;
  663.             }
  664.  
  665.             if ((var18 & 1) != 0) {
  666.                if (var42 && (this.field_22 > 0 || var10)) {
  667.                   if (var18 != 1) {
  668.                      this.field_23 += this.field_25.getHeight() / 3;
  669.                   }
  670.  
  671.                   this.method_17(this.field_25.getHeight());
  672.                }
  673.  
  674.                switch (var18) {
  675.                   case 3:
  676.                      if (var42) {
  677.                         var5 = new y(var20[0], var22[0] != 0, var20[1], var20[2]);
  678.                      }
  679.                   case 4:
  680.                   case 6:
  681.                   case 8:
  682.                   case 10:
  683.                   case 12:
  684.                   case 14:
  685.                   case 16:
  686.                   default:
  687.                      break;
  688.                   case 5:
  689.                      if (var42) {
  690.                         StringBuffer var49 = new StringBuffer(2);
  691.                         if (var14 != null) {
  692.                            for(int var56 = 0; var56 < ((Vector)var14).size() && var56 < 4; ++var56) {
  693.                               var49.append('┬á').append('┬á');
  694.                            }
  695.                         }
  696.  
  697.                         if (var13 > 0) {
  698.                            var49.append(String.valueOf(var13++));
  699.                            var49.append('.');
  700.                         } else {
  701.                            var49.append('*');
  702.                         }
  703.  
  704.                         this.method_13(var49.toString(), (e)null);
  705.                         this.field_22 += this.field_25.charWidth(' ');
  706.                      }
  707.                      break;
  708.                   case 7:
  709.                   case 9:
  710.                      if (var42) {
  711.                         if (var13 >= 0) {
  712.                            if (var14 == null) {
  713.                               var14 = new Stack();
  714.                            }
  715.  
  716.                            var14.push(new Integer(var13));
  717.                         }
  718.  
  719.                         if (var18 == 9) {
  720.                            var13 = 1;
  721.                         } else {
  722.                            var13 = 0;
  723.                         }
  724.                      } else if (var14 != null) {
  725.                         try {
  726.                            var13 = (Integer)var14.pop();
  727.                         } catch (EmptyStackException var32) {
  728.                         }
  729.  
  730.                         if (var14.empty()) {
  731.                            var14 = null;
  732.                         }
  733.                      } else {
  734.                         var13 = -1;
  735.                      }
  736.                      break;
  737.                   case 11:
  738.                   case 13:
  739.                      if (var42) {
  740.                         this.field_25 = Font.getFont(this.field_25.getFace(), this.field_5.S == 3 ? 0 : 1, var18 == 11 ? 16 : 0);
  741.                      } else {
  742.                         this.field_25 = this.field_5.ai;
  743.                      }
  744.                      break;
  745.                   case 15:
  746.                      var10 = var42;
  747.                      if (var42) {
  748.                         this.method_8();
  749.                      } else {
  750.                         this.method_16();
  751.                      }
  752.                      break;
  753.                   case 17:
  754.                      if (var42) {
  755.                         this.method_9();
  756.                      } else {
  757.                         this.method_16();
  758.                      }
  759.                }
  760.  
  761.                if (!var42 && this.field_22 > 0) {
  762.                   if (var18 != 1) {
  763.                      this.field_23 += this.field_25.getHeight() / 3;
  764.                   }
  765.  
  766.                   this.method_17(this.field_25.getHeight());
  767.                }
  768.             } else {
  769.                switch (var18) {
  770.                   case 2:
  771.                      var11 = var42;
  772.                   case 3:
  773.                   case 5:
  774.                   case 7:
  775.                   case 9:
  776.                   case 11:
  777.                   case 13:
  778.                   case 15:
  779.                   case 17:
  780.                   case 19:
  781.                   case 21:
  782.                   case 23:
  783.                   case 25:
  784.                   case 27:
  785.                   case 29:
  786.                   case 31:
  787.                   case 32:
  788.                   case 33:
  789.                   default:
  790.                      break;
  791.                   case 4:
  792.                      if (var42) {
  793.                         String var48 = var20[0];
  794.                         String var55 = var20[1];
  795.                         if (var48 != null) {
  796.                            if (var3 != null) {
  797.                               this.method_10(var3);
  798.                            }
  799.  
  800.                            var3 = new n(var48);
  801.                            this.field_24.push(this.field_25);
  802.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 4, this.field_25.getSize());
  803.                            this.field_26 |= 1;
  804.                         }
  805.  
  806.                         if (var55 != null && this.field_21 != null) {
  807.                            this.method_7(var55);
  808.                         }
  809.                      } else if (var3 != null) {
  810.                         this.method_10(var3);
  811.                         var3 = null;
  812.                      }
  813.                      break;
  814.                   case 6:
  815.                      if (var42) {
  816.                         if (var3 != null) {
  817.                            this.method_11(var20, var21, var22, var23, var3);
  818.                         } else {
  819.                            this.method_11(var20, var21, var22, var23, var4);
  820.                         }
  821.                      }
  822.                      break;
  823.                   case 8:
  824.                      if (var42) {
  825.                         this.field_24.push(this.field_25);
  826.                         if (this.field_5.S != 3) {
  827.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 1, this.field_25.getSize());
  828.                         }
  829.                      } else {
  830.                         this.method_16();
  831.                      }
  832.                      break;
  833.                   case 10:
  834.                      if (var42) {
  835.                         this.method_9();
  836.                      } else {
  837.                         this.method_16();
  838.                      }
  839.                      break;
  840.                   case 12:
  841.                      if (!var42) {
  842.                         break;
  843.                      }
  844.  
  845.                      byte var47 = var22[1];
  846.                      String var54 = var20[2];
  847.                      String var58 = var20[3];
  848.                      if (var47 != 0 && var47 != 1) {
  849.                         if (var47 == 2) {
  850.                            if (var58 == null) {
  851.                               var58 = "on";
  852.                            }
  853.  
  854.                            x var62 = new x(var54, var58, var23[0]);
  855.                            if (var5 != null) {
  856.                               var5.a(var62);
  857.                            }
  858.  
  859.                            this.field_20.addElement(new d(var62, this.field_19.size()));
  860.                            int var65 = this.field_25.getHeight() - 2;
  861.                            if (var65 > this.field_3 - this.field_22) {
  862.                               this.method_17(var65 + 2);
  863.                            } else {
  864.                               this.method_20(var65 + 2);
  865.                            }
  866.  
  867.                            this.field_19.addElement(new u(var62, this.field_22, this.method_18(var65), var65, var65, 0, (Font)null));
  868.                            this.field_22 += var65 + 1;
  869.                         } else if (var47 == 3) {
  870.                            if (var58 == null) {
  871.                               var58 = "on";
  872.                            }
  873.  
  874.                            ac var61 = new ac(var5, var54, var58, var23[0]);
  875.                            if (var5 != null) {
  876.                               var5.a(var61);
  877.                            }
  878.  
  879.                            this.field_20.addElement(new d(var61, this.field_19.size()));
  880.                            int var64 = this.field_25.getHeight();
  881.                            if (var64 > this.field_3 - this.field_22) {
  882.                               this.method_17(var64 + 2);
  883.                            } else {
  884.                               this.method_20(var64 + 2);
  885.                            }
  886.  
  887.                            this.field_19.addElement(new u(var61, this.field_22, this.method_18(var64), var64, var64, 0, (Font)null));
  888.                            this.field_22 += var64 + 1;
  889.                         } else {
  890.                            if (var47 != 4 && var47 != 5) {
  891.                               if (var47 == 7) {
  892.                                  if (var5 != null && var54 != null) {
  893.                                     if (var58 == null) {
  894.                                        var58 = "";
  895.                                     }
  896.  
  897.                                     var5.a(new w(var54, var58, true));
  898.                                  }
  899.                               } else if (var47 == 8) {
  900.                                  if (var54 == null) {
  901.                                     var54 = "";
  902.                                  }
  903.  
  904.                                  if (var54.length() > 0) {
  905.                                     var54 = var54 + '.';
  906.                                  }
  907.  
  908.                                  w var60 = new w(var54 + 'x', (String)null, false);
  909.                                  w var63 = new w(var54 + 'y', (String)null, false);
  910.                                  if (var5 != null) {
  911.                                     var5.a(var60);
  912.                                     var5.a(var63);
  913.                                  }
  914.  
  915.                                  var4 = new k(var5, var60, var63);
  916.                                  if (this.field_2) {
  917.                                     this.method_11(var20, var21, var22, var23, var4);
  918.                                  } else {
  919.                                     String var31 = var20[1];
  920.                                     this.field_22 += this.method_13(var31, var4) + 1;
  921.                                  }
  922.  
  923.                                  this.field_20.addElement(var4);
  924.                                  var4 = null;
  925.                               }
  926.                               break;
  927.                            }
  928.  
  929.                            w var29 = null;
  930.                            if (var47 == 5) {
  931.                               if (var58 == null || var58.length() == 0) {
  932.                                  var58 = "Reset";
  933.                               }
  934.                            } else {
  935.                               if (var58 == null || var58.length() == 0) {
  936.                                  var58 = "Submit";
  937.                               }
  938.  
  939.                               var29 = new w(var54, var58, false);
  940.                               if (var5 != null) {
  941.                                  var5.a(var29);
  942.                               }
  943.                            }
  944.  
  945.                            var58 = '┬á' + var58 + '┬á';
  946.                            var4 = new k(var5, var29, (w)null);
  947.                            int var30 = this.field_25.stringWidth(var58);
  948.                            if (var30 >= this.field_3 - this.field_22 && this.field_22 > 0) {
  949.                               this.method_17(this.field_25.getHeight() + 1);
  950.                            }
  951.  
  952.                            this.field_22 = this.method_13(var58, var4) + 1;
  953.                            this.field_20.addElement(var4);
  954.                            var4 = null;
  955.                         }
  956.                      } else {
  957.                         if (var58 == null) {
  958.                            var58 = "";
  959.                         }
  960.  
  961.                         if (var47 == 1) {
  962.                            this.method_12(var54, var58, 1, var21[2], var21[3], 65536, var5);
  963.                         } else {
  964.                            this.method_12(var54, var58, 1, var21[2], var21[3], 0, var5);
  965.                         }
  966.                      }
  967.                      break;
  968.                   case 14:
  969.                      if (var42) {
  970.                         var7 = new g(var20[0], var23[0]);
  971.                         break;
  972.                      }
  973.  
  974.                      var7.d.trimToSize();
  975.                      if (var5 != null) {
  976.                         var5.a(var7);
  977.                      }
  978.  
  979.                      this.field_20.addElement(new h(var7, this.field_19.size(), this.field_25));
  980.                      int var45 = 0;
  981.                      Enumeration var53 = var7.d.elements();
  982.  
  983.                      while(var53.hasMoreElements()) {
  984.                         int var57 = this.field_25.stringWidth(((q)var53.nextElement()).a());
  985.                         if (var57 > var45) {
  986.                            var45 = var57;
  987.                            if (var57 > this.field_3 - this.field_25.getHeight()) {
  988.                               var45 = this.field_3 - this.field_25.getHeight();
  989.                               break;
  990.                            }
  991.                         }
  992.                      }
  993.  
  994.                      var45 += this.field_25.getHeight();
  995.                      if (var45 > this.field_3 - this.field_22) {
  996.                         this.method_17(this.field_25.getHeight() + 2);
  997.                      } else {
  998.                         this.method_20(this.field_25.getHeight() + 2);
  999.                      }
  1000.  
  1001.                      this.field_19.addElement(new u(var7, this.field_22, this.method_18(this.field_25.getHeight()), var45, this.field_25.getHeight(), 0, (Font)null));
  1002.                      this.field_22 += var45 + 1;
  1003.                      var7 = null;
  1004.                      break;
  1005.                   case 16:
  1006.                      if (var42) {
  1007.                         var15 = var20[0];
  1008.                         var12 = var23[0];
  1009.                      } else {
  1010.                         if (var7 != null) {
  1011.                            if (var16 == null) {
  1012.                               var16 = "";
  1013.                            }
  1014.  
  1015.                            var7.d.addElement(new q(var7, var16, var15 == null ? var16 : var15, var12));
  1016.                         }
  1017.  
  1018.                         var15 = null;
  1019.                         var16 = null;
  1020.                      }
  1021.                      break;
  1022.                   case 18:
  1023.                      if (var42) {
  1024.                         var6 = this.method_12(var20[0], (String)null, var21[0], var21[1], -1, 0, var5);
  1025.                      } else if (var6 != null) {
  1026.                         if (var6.d() == null) {
  1027.                            var6.a("");
  1028.                         }
  1029.  
  1030.                         var6 = null;
  1031.                      }
  1032.                      break;
  1033.                   case 20:
  1034.                      if (var42) {
  1035.                         this.method_8();
  1036.                      } else {
  1037.                         this.method_16();
  1038.                      }
  1039.                      break;
  1040.                   case 22:
  1041.                      if (var42) {
  1042.                         String var44 = var20[0];
  1043.                         b var52 = new b(var8, var44, var22[0], var24);
  1044.                         if (var8 == null) {
  1045.                            var8 = var52;
  1046.                         }
  1047.  
  1048.                         if (var9 != null) {
  1049.                            var9.a = var52;
  1050.                         }
  1051.  
  1052.                         var9 = var52;
  1053.                         var52.a(this.field_19.size());
  1054.                         if (var44 != null) {
  1055.                            this.field_20.addElement(var52);
  1056.                         }
  1057.                      }
  1058.                      break;
  1059.                   case 24:
  1060.                      if (!var42 && this.field_2) {
  1061.                         var8 = null;
  1062.                         var9 = null;
  1063.                      }
  1064.                      break;
  1065.                   case 26:
  1066.                      if (!var42) {
  1067.                         this.method_4(16, 100, (Throwable)null);
  1068.                         this.field_20.trimToSize();
  1069.                         this.field_19.trimToSize();
  1070.                         return;
  1071.                      }
  1072.                      break;
  1073.                   case 28:
  1074.                      if (var42) {
  1075.                         byte var26 = var22[0];
  1076.                         w var27 = null;
  1077.                         if (var26 == 0) {
  1078.                            String var28 = var20[1];
  1079.                            if (var28 == null) {
  1080.                               var28 = "";
  1081.                            }
  1082.  
  1083.                            var27 = new w(var20[0], var28, false);
  1084.                            if (var5 != null) {
  1085.                               var5.a(var27);
  1086.                            }
  1087.                         }
  1088.  
  1089.                         var4 = new k(var5, var27, (w)null);
  1090.                         if (this.field_22 > 0) {
  1091.                            this.method_17(this.field_25.getHeight() + 1);
  1092.                         }
  1093.                      } else if (var4 != null) {
  1094.                         if (var4.b() > 0) {
  1095.                            this.field_20.addElement(var4);
  1096.                         }
  1097.  
  1098.                         var4 = null;
  1099.                         if (this.field_22 > 0) {
  1100.                            this.method_17(this.field_25.getHeight());
  1101.                         }
  1102.                      }
  1103.                      break;
  1104.                   case 30:
  1105.                      if (var42) {
  1106.                         this.field_26 |= 2;
  1107.                         if ((this.field_26 & 1) != 0) {
  1108.                            this.field_26 |= 4;
  1109.                         }
  1110.                      } else {
  1111.                         this.field_26 &= -3;
  1112.                         this.field_26 &= -5;
  1113.                      }
  1114.                      break;
  1115.                   case 34:
  1116.                      if (var42 && var20[0] != null) {
  1117.                         this.method_7(var20[0]);
  1118.                      }
  1119.                }
  1120.             }
  1121.          }
  1122.       }
  1123.    }
  1124.  
  1125.    // $FF: renamed from: b (java.lang.String) void
  1126.    private void method_7(String var1) {
  1127.       if (this.field_21 != null) {
  1128.          this.field_21.put(var1, new Integer(this.field_23));
  1129.          if (this.field_7 != null && method_1(this.field_7).equals(var1)) {
  1130.             this.field_5.a(var1);
  1131.             this.field_7 = null;
  1132.          }
  1133.       }
  1134.  
  1135.    }
  1136.  
  1137.    // $FF: renamed from: a () void
  1138.    private void method_8() {
  1139.       this.field_24.push(this.field_25);
  1140.       this.field_25 = Font.getFont(32, this.field_25.getStyle(), this.field_25.getSize());
  1141.       if (this.field_5.S == 1 && this.field_25.stringWidth("sex") <= 3) {
  1142.          Graphics var1 = Image.createImage(1, 1).getGraphics();
  1143.          var1.setFont(this.field_25);
  1144.          var1.drawString("sex", 0, 0, 20);
  1145.       }
  1146.  
  1147.    }
  1148.  
  1149.    // $FF: renamed from: c () void
  1150.    private void method_9() {
  1151.       this.field_24.push(this.field_25);
  1152.       this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 2, this.field_25.getSize());
  1153.    }
  1154.  
  1155.    // $FF: renamed from: a (n) void
  1156.    private void method_10(n var1) {
  1157.       if (var1.b() > 0) {
  1158.          this.field_20.addElement(var1);
  1159.       }
  1160.  
  1161.       this.field_26 &= -2;
  1162.       this.method_16();
  1163.    }
  1164.  
  1165.    // $FF: renamed from: a (java.lang.String[], int[], byte[], boolean[], e) void
  1166.    private void method_11(String[] var1, int[] var2, byte[] var3, boolean[] var4, e var5) throws IOException {
  1167.       String var6 = var1[0];
  1168.       int var7 = var2[0];
  1169.       int var8 = var2[1];
  1170.       if (var6 != null && var7 > 0 && var8 > 0) {
  1171.          var6 = var6 + '#' + var7 + ',' + var8;
  1172.          int var9 = 100;
  1173.          if (var7 > this.field_3) {
  1174.             var9 = 100 * this.field_3 / var7;
  1175.             var8 = this.field_3 * var8 / var7;
  1176.             var7 = this.field_3;
  1177.             if (var8 == 0) {
  1178.                var8 = 1;
  1179.             }
  1180.          }
  1181.  
  1182.          if (var7 > this.field_3 - this.field_22) {
  1183.             this.method_17(var8 + 2);
  1184.          } else {
  1185.             this.method_20(var8 + 2);
  1186.          }
  1187.  
  1188.          this.method_21(var3[0]);
  1189.          if (var5 != null) {
  1190.             if (var4[1] && var5 instanceof n) {
  1191.                ((n)var5).e = true;
  1192.             }
  1193.  
  1194.             var5.b(var9);
  1195.             var5.a(this.field_19.size());
  1196.          }
  1197.  
  1198.          this.field_19.addElement(new aa(this.field_5.f, var6, this.field_22, this.method_18(var8), var7, var8));
  1199.          this.field_22 += var7 + 2;
  1200.       }
  1201.  
  1202.    }
  1203.  
  1204.    // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, y) w
  1205.    private w method_12(String var1, String var2, int var3, int var4, int var5, int var6, y var7) {
  1206.       if (var3 <= 0) {
  1207.          var3 = 3;
  1208.       }
  1209.  
  1210.       if (var4 <= 0) {
  1211.          var4 = 20;
  1212.       }
  1213.  
  1214.       if (var5 == 0) {
  1215.          var5 = -1;
  1216.       }
  1217.  
  1218.       if (this.field_22 > 0) {
  1219.          this.method_17(var3 * this.field_25.getHeight() + 2);
  1220.       } else {
  1221.          this.method_20(var3 * this.field_25.getHeight() + 2);
  1222.       }
  1223.  
  1224.       int var8 = var4 * this.field_25.charWidth(' ');
  1225.       if (var8 >= this.field_3) {
  1226.          var8 = this.field_3;
  1227.       }
  1228.  
  1229.       w var9 = new w(var1, var2, true);
  1230.       this.field_20.addElement(new z(var9, this.field_19.size(), var5, var6));
  1231.       this.field_19.addElement(new u(var9, this.field_22, this.field_23 + 1, var8, var3 * this.field_25.getHeight(), var6, this.field_25));
  1232.       if (var7 != null) {
  1233.          var7.a(var9);
  1234.       }
  1235.  
  1236.       this.field_22 += var8 + 1;
  1237.       if (this.field_5.i) {
  1238.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1239.       }
  1240.  
  1241.       return var9;
  1242.    }
  1243.  
  1244.    // $FF: renamed from: a (java.lang.String, e) int
  1245.    private int method_13(String var1, e var2) {
  1246.       int var3 = var1.length();
  1247.       int var4 = 0;
  1248.       int var5 = 0;
  1249.       int var6 = 0;
  1250.       int var7 = this.field_22;
  1251.  
  1252.       while(var5 < var3) {
  1253.          int var8 = var1.indexOf(32, var5);
  1254.          if (var8 < 0) {
  1255.             var8 = var3;
  1256.          }
  1257.  
  1258.          if (var8 > 0) {
  1259.             int var9 = this.field_25.substringWidth(var1, var5, var8 - var5);
  1260.             if (var9 >= this.field_3 - this.field_22) {
  1261.                int var10 = var5 - 1;
  1262.                if (var6 == var5 && this.field_22 == 0) {
  1263.                   int var11 = 1;
  1264.  
  1265.                   while(true) {
  1266.                      Thread.yield();
  1267.                      if (this.field_14) {
  1268.                         return var4;
  1269.                      }
  1270.  
  1271.                      var9 = this.field_25.substringWidth(var1, var5, var8 - var5 - var11);
  1272.                      if (var9 <= this.field_3 - this.field_22) {
  1273.                         var5 = var10 = var8 - var11;
  1274.                         break;
  1275.                      }
  1276.  
  1277.                      ++var11;
  1278.                   }
  1279.                }
  1280.  
  1281.                if (var10 > var6) {
  1282.                   if (var2 != null) {
  1283.                      var2.a(this.field_19.size());
  1284.                   }
  1285.  
  1286.                   this.method_20(this.field_25.getHeight());
  1287.                   this.field_19.addElement(new j(var1.substring(var6, var10), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1288.                   if (this.field_22 + var9 > var4) {
  1289.                      var4 = this.field_22 + var9;
  1290.                   }
  1291.                }
  1292.  
  1293.                this.method_17(this.field_25.getHeight());
  1294.                var7 = 0;
  1295.                var6 = var5;
  1296.                continue;
  1297.             }
  1298.  
  1299.             if (var8 + 1 >= var3) {
  1300.                if (var2 != null) {
  1301.                   var2.a(this.field_19.size());
  1302.                }
  1303.  
  1304.                this.method_20(this.field_25.getHeight());
  1305.                this.field_19.addElement(new j(var1.substring(var6, var8), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1306.                this.field_22 += var9;
  1307.                if (this.field_22 > var4) {
  1308.                   var4 = this.field_22;
  1309.                }
  1310.             } else {
  1311.                this.field_22 += var9;
  1312.             }
  1313.          }
  1314.  
  1315.          if (var8 < var3) {
  1316.             this.field_22 += this.field_25.charWidth(' ');
  1317.          }
  1318.  
  1319.          var5 = var8 + 1;
  1320.       }
  1321.  
  1322.       if (this.field_5.i) {
  1323.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1324.       }
  1325.  
  1326.       return var4;
  1327.    }
  1328.  
  1329.    // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
  1330.    private void method_14(InputStream var1, String var2, int var3, boolean var4) throws IOException {
  1331.       if (var3 > 0) {
  1332.          byte[] var5 = this.method_5(var1, var3, var4 ? 64 : -1);
  1333.          if (var5 != null && var5.length > 0) {
  1334.             Thread.yield();
  1335.             if (this.field_14) {
  1336.                return;
  1337.             }
  1338.  
  1339.             try {
  1340.                Image var6 = Image.createImage(var5, 0, var5.length);
  1341.                Object var9 = null;
  1342.                Thread.yield();
  1343.                if (this.field_14) {
  1344.                   return;
  1345.                }
  1346.  
  1347.                if (this.field_5.f == null) {
  1348.                   this.field_5.f = new Hashtable();
  1349.                   this.field_5.w = var6.getHeight();
  1350.                   this.field_5.ag = var6.getWidth();
  1351.                   if (!this.field_5.I) {
  1352.                      this.field_5.u();
  1353.                   }
  1354.  
  1355.                   aa var7 = new aa(this.field_5.f, var2, 0, 0, var6.getWidth(), var6.getHeight());
  1356.                   this.field_19.addElement(var7);
  1357.                }
  1358.  
  1359.                this.field_5.f.put(var2, var6);
  1360.                this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1361.             } catch (IllegalArgumentException var8) {
  1362.                if (this.field_5.f == null) {
  1363.                   throw var8;
  1364.                }
  1365.             }
  1366.          }
  1367.  
  1368.       }
  1369.    }
  1370.  
  1371.    // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
  1372.    private final String method_15(String var1, boolean var2) {
  1373.       int var3 = var1.length();
  1374.       StringBuffer var4 = new StringBuffer(var3);
  1375.  
  1376.       for(int var5 = 0; var5 < var3; ++var5) {
  1377.          char var6 = var1.charAt(var5);
  1378.          switch (var6) {
  1379.             case '"':
  1380.                if (var2) {
  1381.                   var4.append(""");
  1382.                   break;
  1383.                }
  1384.             default:
  1385.                if (var6 > 127) {
  1386.                   var4.append("&#" + var6 + ';');
  1387.                } else {
  1388.                   var4.append(var6);
  1389.                }
  1390.                break;
  1391.             case '&':
  1392.                var4.append("&");
  1393.                break;
  1394.             case '<':
  1395.                var4.append("<");
  1396.                break;
  1397.             case '>':
  1398.                var4.append(">");
  1399.          }
  1400.       }
  1401.  
  1402.       return var4.toString();
  1403.    }
  1404.  
  1405.    // $FF: renamed from: b () void
  1406.    private void method_16() {
  1407.       try {
  1408.          this.field_25 = (Font)this.field_24.pop();
  1409.       } catch (EmptyStackException var2) {
  1410.       }
  1411.  
  1412.    }
  1413.  
  1414.    // $FF: renamed from: c (int) void
  1415.    private void method_17(int var1) {
  1416.       this.field_22 = 0;
  1417.       this.field_23 += this.field_27;
  1418.       this.field_27 = var1;
  1419.       this.field_28 = 0;
  1420.       this.field_5.w = this.field_23 + this.field_27;
  1421.    }
  1422.  
  1423.    // $FF: renamed from: a (int) int
  1424.    private int method_18(int var1) {
  1425.       return this.method_19(var1, false);
  1426.    }
  1427.  
  1428.    // $FF: renamed from: a (int, boolean) int
  1429.    private int method_19(int var1, boolean var2) {
  1430.       switch (this.field_28) {
  1431.          case 1:
  1432.             return this.field_23 + (var2 ? 0 : 1);
  1433.          case 2:
  1434.             return this.field_23 + this.field_27 / 2 - var1 / 2;
  1435.          default:
  1436.             return this.field_23 + this.field_27 - var1 - (var2 ? 0 : 1);
  1437.       }
  1438.    }
  1439.  
  1440.    // $FF: renamed from: b (int) void
  1441.    private void method_20(int var1) {
  1442.       if (var1 > this.field_27) {
  1443.          this.field_27 = var1;
  1444.          this.field_5.w = this.field_23 + this.field_27;
  1445.          if (this.field_22 > 0) {
  1446.             this.method_22();
  1447.          }
  1448.       }
  1449.  
  1450.    }
  1451.  
  1452.    // $FF: renamed from: a (byte) void
  1453.    private void method_21(byte var1) {
  1454.       if (this.field_28 != var1) {
  1455.          this.field_28 = var1;
  1456.          this.method_22();
  1457.       }
  1458.  
  1459.    }
  1460.  
  1461.    // $FF: renamed from: e () void
  1462.    private void method_22() {
  1463.       for(int var1 = this.field_19.size() - 1; var1 >= 0; --var1) {
  1464.          c var2 = (c)this.field_19.elementAt(var1);
  1465.          if (var2.e < this.field_23) {
  1466.             break;
  1467.          }
  1468.  
  1469.          var2.e = this.method_19(var2.b(), var2 instanceof j);
  1470.       }
  1471.  
  1472.    }
  1473. }
  1474.